#ifndef _THREADPOOL_H
#define _THREADPOOL_H
#include "task.h"
#include "thread.h"
#include "TaskQueue.h"
#include <vector>
#include <memory>
using std::vector;
using std::unique_ptr;
class Threadpool{
    public:
    Threadpool(int,int);
    void start();
    void stop();
    void addTask(Task&& );
    void doTask();
    private:
    vector<unique_ptr<Thread>> _threads;//线程池的子线程
    int _threadNum;//线程池的个数
    int _queSize;//任务队列的任务个数最大值
    TaskQueue _taskqueue;//任务队列
    bool is_Exit;
};

#endif

